/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package HAOJianguo;

import java.util.ArrayList;

import org.eclipse.swt.graphics.GC;

/**
 *
 * @author HAO Jianguo
 */
public class Test {

    /**
     * 画带箭头的线
     *
     */
    public void paintk(GC g, int x1, int y1, int x2, int y2) {

        double H = 10;  // 箭头高度    
        double L = 7; // 底边的一半   
        int x3 = 0;
        int y3 = 0;
        int x4 = 0;
        int y4 = 0;
        double awrad = Math.atan(L / H);  // 箭头角度    
        double arraow_len = Math.sqrt(L * L + H * H); // 箭头的长度    
        double[] arrXY_1 = rotateVec(x2 - x1, y2 - y1, awrad, true, arraow_len);
        double[] arrXY_2 = rotateVec(x2 - x1, y2 - y1, -awrad, true, arraow_len);
        double x_3 = x2 - arrXY_1[ 0];  // (x3,y3)是第一端点    
        double y_3 = y2 - arrXY_1[ 1];
        double x_4 = x2 - arrXY_2[ 0]; // (x4,y4)是第二端点    
        double y_4 = y2 - arrXY_2[ 1];

        Double X3 = new Double(x_3);
        x3 = X3.intValue();
        Double Y3 = new Double(y_3);
        y3 = Y3.intValue();
        Double X4 = new Double(x_4);
        x4 = X4.intValue();
        Double Y4 = new Double(y_4);
        y4 = Y4.intValue();
        // g.setColor(SWT.COLOR_WHITE);
        // 画线 
        g.drawLine(x1, y1, x2, y2);
        // 画箭头的一半 
        g.drawLine(x2, y2, x3, y3);
        // 画箭头的另一半 
        g.drawLine(x2, y2, x4, y4);

    }

    /**
     * 取得箭头的绘画范围
     */
    public double[] rotateVec(int px, int py, double ang, boolean isChLen,
            double newLen) {

        double mathstr[] = new double[2];
        double vx = px * Math.cos(ang) - py * Math.sin(ang);
        double vy = px * Math.sin(ang) + py * Math.cos(ang);
        if (isChLen) {
            double d = Math.sqrt(vx * vx + vy * vy);
            vx = vx / d * newLen;
            vy = vy / d * newLen;
            mathstr[ 0] = vx;
            mathstr[ 1] = vy;
        }
        return mathstr;
    }

    public static void main(String[] args) {
        ArrayList<String> temp = new ArrayList<String>();

        temp.add("HAO");
        temp.add("Jianguo");
        temp.add("Ting");

        String a = "Jianguo";
        System.out.println(temp.indexOf(a));
        System.out.println(temp.size());
        String[][] b = new String[2][2];
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 2; j++) {
                System.out.println(b[i][j]);
            }
        }

    }
}
